#ifndef CPP_TOOLS_PLUGIN_C_API_H_
#define CPP_TOOLS_PLUGIN_C_API_H_

#ifdef CPP_TOOLS_IMPL
#define CPP_TOOLS_EXPORT __declspec(dllexport)
#else
#define CPP_TOOLS_EXPORT __declspec(dllimport)
#endif

#if defined(__cplusplus)

extern "C" {
#endif

///和dart对应的结构体
typedef struct {
    int a;
    float b;
    void *c;
} TestStruct;

///回调dart函数
typedef void(*TestCB)(TestStruct*);

CPP_TOOLS_EXPORT extern const char* version;

CPP_TOOLS_EXPORT TestStruct* DartToCTest(TestStruct* str1,TestCB cb,int size,char* str);

#if defined(__cplusplus)
}  // extern "C"
#endif

#endif  // FLUTTER_PLUGIN_FLUTTER_PLATFORM_PLUGIN_C_API_H_